﻿using System;

namespace LAPI.Business.Acciones
{
    /// <summary>
    /// Clase para realizar la acción: Obtener los centros deportivos activos para el servicio.
    /// </summary>
    public class AccGetCentrosDeportivos
    {
        /// <summary>
        /// Logger de la clase
        /// </summary>
        private LAPI.Core.Logging.ILogger logger;

        /// <summary>
        /// Constructor
        /// </summary>
        public AccGetCentrosDeportivos()
        {
            logger = LAPI.Core.Logging.LoggerFactory.CreateLogger(type: typeof(AccGetCentrosDeportivos));
        }

        /// <summary>
        /// El método realiza las siguientes funciones:
        /// <ul>
        /// <li>Obtiene un listado de los centros deportivos activos
        /// </ul>
        /// </summary>
        /// <returns>Colección con los centros deportivos activos</returns>
        /// <seealso cref="CentroDeportivo"/>        
        /// <seealso cref="GestorCentrosDeportivos"/>
        public System.Collections.Generic.List<LAPI.Data.Model.CentroDeportivo> GetCentrosDeportivos()
        {
            logger.Debug("[GetCentrosDeportivos] Comienzo");

            System.Collections.Generic.List<LAPI.Data.Model.CentroDeportivo> result = new System.Collections.Generic.List<Data.Model.CentroDeportivo>();
            try
            {
                Gestores.GestorCentrosDeportivos oGestor = new Gestores.GestorCentrosDeportivos();
                result = oGestor.ObtenerActivos();
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }
            logger.Debug("[GetCentrosDeportivos] Fin");

            return result;
        }
    }
}
